package com.denlaku.longan.vo;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.denlaku.longan.core.ComponentType;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author tianx
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class Component extends TenantBase {

    private static Map<String, Object> defaultAttr =  new HashMap<>();

    private String name;
    /**
     * @see ComponentType
     * */
    private String type;
    private Long dataSetId;
    /**所属ID*/
    private Long dashboardId;
    private List<Dimension> dimensions;
    private List<Measure> measures;
    private List<Linkage> linkages;
    private List<GoingIn> goingIns;
    private List<Condition> filters;
    private ComponentGrid grid;
    private Map<String, Object> style = defaultAttr;
    private Map<String, Object> attr = defaultAttr;
    private List<Component> components;
    private Long parentId;
}
